package leetcode333周赛;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/2/19 22:50
 */
public class leetcode6353将整数减少到0最小操作数 {


    /*
      纯纯 动态规划.思考题！
      判断连续的 1 的个数 ！
     */

    /*
      1111011111   这个 下面的方法 就有问题（没考虑  加 2 ^ x  连续的 1 连通的 的情况）
      曹: 示例 都没过!
     */
    public int solution(int num){
        int ans = 0,count = 0;
        String s = Integer.toBinaryString(num);
        for(char ch : s.toCharArray()){
            if(ch == '0'){
                ans += count > 2 ? 2 : count;
            }
            else{
                count++;
            }
        }
        return ans;
    }
}